package okw.network;

import java.util.LinkedList;

public class Queue {
	LinkedList<QueueItem> lista = new LinkedList<QueueItem>();

	// wrzuca element do kolejki
    public synchronized void put(QueueItem e){
    	lista.add(e);
        System.out.println("Dodano wiadomosc do kolejki");
        notify();
    }
    
    // czeka na element i go pobiera jesli jest dostepny
    public synchronized QueueItem get(){
    	
    	QueueItem tmp = null;
        if ( (lista.size() == 0 )){
        	try{
        		wait(100);
            } catch(InterruptedException e) {
            	
            }
        } 
        if ( lista.size() != 0 ) {
	        try{
	            tmp = lista.removeFirst();
	            System.out.println("Pobrano element z kolejki");
	        }catch (Exception e) {
	        	e.printStackTrace();
	        }
        }
        return tmp;
    }

}
